#include <OgreVector3.h>
#include <OgrePrerequisites.h>

#define DLL_EXPORT __declspec(dllexport)

using namespace Ogre;

extern "C" DLL_EXPORT Vector3 *getVector3()
{
    return new Vector3();
}

extern "C" DLL_EXPORT Vector3 *getVector3FromCoordinates(float xval, float yval, float zval)
{
    return new Vector3(xval, yval, zval);
}

extern "C" DLL_EXPORT float *call_Vector3ptr(void *ptr)
{
    return ((Vector3*)ptr)->ptr();
}

extern "C" DLL_EXPORT float *get_Vector3ptrX(void *ptr)
{
    return &((Vector3*)ptr)->x;
}

extern "C" DLL_EXPORT float *get_Vector3ptrY(void *ptr)
{
    return &((Vector3*)ptr)->y;
}

extern "C" DLL_EXPORT float *get_Vector3ptrZ(void *ptr)
{
    return &((Vector3*)ptr)->z;
}
